//package com.example.springai.http.pojo.v1;
//
//import com.example.springai.http.pojo.v1.ChatRequest;
//import com.fasterxml.jackson.core.JsonProcessingException;
//import com.fasterxml.jackson.databind.ObjectMapper;
//import org.springframework.ai.openai.api.OpenAiApi;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.http.*;
//import org.springframework.web.client.RestTemplate;
//
//import java.util.HashMap;
//import java.util.List;
//
//public class ChatRequestExample {
//    @Value("${spring.ai.openai.base-url}")
//    private static String OPENAI_API_URL="https://api.deepseek.com/v1/chat/completions";
//
//    @Value("${openai.api.api-key}")
//    private static String OPENAI_API_KEY="sk-702d785f102e4adcb4db8f0929ceb8f7";
//    public static  ResponseEntity<OpenAiApi.ChatCompletion> requestDeepSeekChat(List<OpenAiApi.FunctionTool> tools, List< ChatRequest.Message> messages) {
//        // 1. 构造 ChatRequest 对象
//        ChatRequest chatRequest = new ChatRequest();
//        chatRequest.setModel("deepseek-chat");
//        // 1.1 设置消息
//        chatRequest.setMessages(messages);
//        // 1.2 设置工具及其参数
//        chatRequest.setTools(tools);
//        // 1.3 设置工具选择
//        chatRequest.setToolChoice("auto");
//
//        HttpHeaders headers = new HttpHeaders();
//        headers.setContentType(MediaType.APPLICATION_JSON);
//        headers.set("Authorization", "Bearer " + OPENAI_API_KEY);
//        headers.set("Content-Type", "application/json");
//
//        try {
//            String s = new ObjectMapper().writeValueAsString(chatRequest);
//            System.out.println("s = " + s);
//        } catch (JsonProcessingException e) {
//            throw new RuntimeException(e);
//        }
//        HttpEntity<ChatRequest> requestEntity = new HttpEntity<>(chatRequest, headers);
//
//        // 3. 使用 RestTemplate 发送请求
//        String url =OPENAI_API_URL; // 替换为实际的接口地址
//        RestTemplate restTemplate = new RestTemplate();
//
//        ResponseEntity<OpenAiApi.ChatCompletion> responseEntity = restTemplate.exchange(
//                url, HttpMethod.POST, requestEntity, OpenAiApi.ChatCompletion.class);
//
//        // 4. 输出响应
//        try {
//            String s = new ObjectMapper().writeValueAsString(responseEntity);
//            System.out.println(" responseEntity= " + s);
//        } catch (JsonProcessingException e) {
//            throw new RuntimeException(e);
//        }
//        return responseEntity;
//    }
//}
